// 为了照顾多次的异步请求的同一时间的 加载效果
let ajaxTimes = 0;

// TIPS 导出 ES6 的 promise 简化异步操作
export const request = (params) => {
  ajaxTimes++;
  // 显示加载中的效果
  wx.showLoading({
    title: "加载中",
    mask: true,
  });
  // TIPS 提取公共路径，通过字符串拼接简化路径格式
  const baseURL = "https://api-hmugo-web.itheima.net/api/public/v1";
  return new Promise((resolve, reject) => {
    wx.request({
      ...params,
      url: baseURL + params.url,
      success(result) {
        resolve(result);
      },
      fail(err) {
        reject(err);
      },
      complete() {
        ajaxTimes--;
        if (ajaxTimes === 0) {
          wx.hideLoading();
        }
      },
    });
  });
};
